package com.swiot.biz.service.impl;

import java.util.List;
import com.swiot.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.swiot.biz.mapper.TemplateAlarmMapper;
import com.swiot.biz.domain.TemplateAlarm;
import com.swiot.biz.service.ITemplateAlarmService;

/**
 * 模板告警Service业务层处理
 * 
 * @author kingdom
 * @date 2025-01-10
 */
@Service
public class TemplateAlarmServiceImpl implements ITemplateAlarmService 
{
    @Autowired
    private TemplateAlarmMapper templateAlarmMapper;

    /**
     * 查询模板告警
     * 
     * @param id 模板告警主键
     * @return 模板告警
     */
    @Override
    public TemplateAlarm selectTemplateAlarmById(String id)
    {
        return templateAlarmMapper.selectTemplateAlarmById(id);
    }

    /**
     * 查询模板告警列表
     * 
     * @param templateAlarm 模板告警
     * @return 模板告警
     */
    @Override
    public List<TemplateAlarm> selectTemplateAlarmList(TemplateAlarm templateAlarm)
    {
        return templateAlarmMapper.selectTemplateAlarmList(templateAlarm);
    }

    /**
     * 新增模板告警
     * 
     * @param templateAlarm 模板告警
     * @return 结果
     */
    @Override
    public int insertTemplateAlarm(TemplateAlarm templateAlarm)
    {
        templateAlarm.setCreatedTime(DateUtils.getNowDate());
        return templateAlarmMapper.insertTemplateAlarm(templateAlarm);
    }

    /**
     * 修改模板告警
     * 
     * @param templateAlarm 模板告警
     * @return 结果
     */
    @Override
    public int updateTemplateAlarm(TemplateAlarm templateAlarm)
    {
        templateAlarm.setUpdatedTime(DateUtils.getNowDate());
        return templateAlarmMapper.updateTemplateAlarm(templateAlarm);
    }

    /**
     * 批量删除模板告警
     * 
     * @param ids 需要删除的模板告警主键
     * @return 结果
     */
    @Override
    public int deleteTemplateAlarmByIds(String[] ids)
    {
        return templateAlarmMapper.deleteTemplateAlarmByIds(ids);
    }

    /**
     * 删除模板告警信息
     * 
     * @param id 模板告警主键
     * @return 结果
     */
    @Override
    public int deleteTemplateAlarmById(String id)
    {
        return templateAlarmMapper.deleteTemplateAlarmById(id);
    }

    /**
     * 批量处理模板告警
     * 
     * @param templateAlarm 模板告警
     * @return 结果
     */
    @Override
    public int batchProcessTemplateAlarm(TemplateAlarm templateAlarm)
    {
        templateAlarm.setProcessTime(DateUtils.getNowDate());
        templateAlarm.setUpdatedTime(DateUtils.getNowDate());
        return templateAlarmMapper.batchProcessTemplateAlarm(templateAlarm);
    }

    /**
     * 更新告警处理状态
     * 
     * @param templateAlarm 告警信息
     * @return 结果
     */
    @Override
    public int updateTemplateAlarmProcessStatus(TemplateAlarm templateAlarm) {
        templateAlarm.setUpdatedTime(DateUtils.getNowDate());
        return templateAlarmMapper.updateTemplateAlarmProcessStatus(templateAlarm);
    }
}
